﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Xml;
    using System.Xml.Serialization;

    [Serializable, GeneratedCode("svcutil", "3.0.4506.2152"), DesignerCategory("code"), XmlType(Namespace="http://www.onvif.org/ver10/schema"), DebuggerStepThrough]
    public class NetworkInterfaceSetConfiguration
    {
        private XmlAttribute[] anyAttrField;
        private bool enabledField;
        private bool enabledFieldSpecified;
        private NetworkInterfaceSetConfigurationExtension extensionField;
        private IPv4NetworkInterfaceSetConfiguration iPv4Field;
        private IPv6NetworkInterfaceSetConfiguration iPv6Field;
        private NetworkInterfaceConnectionSetting linkField;
        private int mTUField;
        private bool mTUFieldSpecified;

        [XmlAnyAttribute]
        public XmlAttribute[] AnyAttr
        {
            get
            {
                return this.anyAttrField;
            }
            set
            {
                this.anyAttrField = value;
            }
        }

        [XmlElement(Order=0)]
        public bool Enabled
        {
            get
            {
                return this.enabledField;
            }
            set
            {
                this.enabledField = value;
            }
        }

        [XmlIgnore]
        public bool EnabledSpecified
        {
            get
            {
                return this.enabledFieldSpecified;
            }
            set
            {
                this.enabledFieldSpecified = value;
            }
        }

        [XmlElement(Order=5)]
        public NetworkInterfaceSetConfigurationExtension Extension
        {
            get
            {
                return this.extensionField;
            }
            set
            {
                this.extensionField = value;
            }
        }

        [XmlElement(Order=3)]
        public IPv4NetworkInterfaceSetConfiguration IPv4
        {
            get
            {
                return this.iPv4Field;
            }
            set
            {
                this.iPv4Field = value;
            }
        }

        [XmlElement(Order=4)]
        public IPv6NetworkInterfaceSetConfiguration IPv6
        {
            get
            {
                return this.iPv6Field;
            }
            set
            {
                this.iPv6Field = value;
            }
        }

        [XmlElement(Order=1)]
        public NetworkInterfaceConnectionSetting Link
        {
            get
            {
                return this.linkField;
            }
            set
            {
                this.linkField = value;
            }
        }

        [XmlElement(Order=2)]
        public int MTU
        {
            get
            {
                return this.mTUField;
            }
            set
            {
                this.mTUField = value;
            }
        }

        [XmlIgnore]
        public bool MTUSpecified
        {
            get
            {
                return this.mTUFieldSpecified;
            }
            set
            {
                this.mTUFieldSpecified = value;
            }
        }
    }
}

